Consulta de Guías Docentes



Academic Year/course: 2023/24

439 - Bachelor's Degree in Informatics Engineering

30240 - Embedded Systems II


Syllabus Information

Academic year:
2023/24
Subject:
30240 - Embedded Systems II
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
439 - Bachelor's Degree in Informatics Engineering
ECTS:
6.0
Year:
4
Semester:
First semester
Subject type:
---
Module:
---

1. General information

 

The objective of the subject is to train the student in the design and programming of embedded systems that require an operating system due to their complexity, developing analysis and design skills. 

For this purpose, the most commonly used real time scheduling techniques on monoprocessor are introduced when the cyclic executive based scheduling studied in Embedded Systems I is insufficient. A very representative real time operating system (SYS/BIOS), and the most widespread adaptation of the Linux kernel for real time are presented. The most relevant parameters of these systems are studied in order to be able to calculate compliance with deadlines (interruption latencies and planning and how to measure them in each case). In the case of Linux, the main interfaces of programming and internal kernel resources, kernel ejection configurations, and their advantages and limits for real time systems are studied in depth. The concepts and problems studied and solved in theory are supported with their practical implementation in SYS/BIOS and/or Linux.

 

These approaches and objectives are aligned with Goal 9 target 9.5 of the Sustainable Development Goals (SDGs) of the 2030 Agenda ( https://www.un.org/sustainabledevelopment/es/), and to a lesser extent with SDGs 3, 4, 6, 7, 11, 12, 13, 14, and 15.



2. Learning results

 

  • Have a broad vision of the most widespread microprocessors and interfaces in embedded and real-time systems. 

  • Know and know how to use efficiently the usual programming languages in these environments (C, Ada, Java, etc.).

  • Have a broad vision of the most widely used operating systems in embedded and real-time systems, and know how to port to a platform and use the services of at least one of them.

  • Know and knows how to handle development environments for embedded and real-time systems.

  • Know how to analyse and select hardware/software platforms suitable for embedded and real-time applications.

  • Know how to design and build embedded and real-time systems based on microprocessors or other platforms, of low complexity, taking into account security, reliability, fault tolerance and power consumption criteria.



3. Syllabus

 

1. Real-Time OSs

1. Introduction. Current overview.

2. Review of expulsion planning methods with priorities in TR systems

3. Synchronization, priority inversion / inheritance

4. Cases: IT SYS/BIOS and POSIX (pthreads)

2. System architecture

1. Case study: ARM

2. Outage management

3. Factors affecting outage latency

3. Linux/ARM as an embedded solution

1. Structure and dynamics of a Linux kernel

2. Kernel ejection models and their consequences in embedded systems

3. Synchronization in the kernel

4. Exceptions. Interruption latency.

5. Callouts. Linux case: tasklets, softirqs, workqueues

6. Planning / real time planning

7. Kernel memory management

8. File and I/O management. Main subsystems

9.  Drivers (modules) and hdw access: Linux Device model

4. Laboratory Practices

1. Real-time programming on SYS/BIOS and POSIX

2. Creating a Linux distribution for an embedded system

3. Kernel configuration and modification

4. Measurement of outage latency

5. Expansion projects



4. Academic activities

 

Lectures, problem classes and practical sessions in the laboratory are given according to the timetable established by the center (timetables available on its web page).

Each teacher will inform of their tutoring schedule.

The rest of the activities will be planned according to the number of students and will be announced well in advance. It will be available at http://moodle.unizar.es

 

The detailed calendar of the various activities to be carried out will be established once the University and the Center have approved the academic calendar (see EINA website).

The list and dates of the various activities, along with all kinds of information and documentation on the course, will be published in  http://moodle.unizar.es/ (Note. To access this website the student must be enrolled). As a guideline:

Each week, 3 hours of classroom classes are scheduled.

Six laboratory practices of 3 hours each will be carried out.

Additional scheduled activities (assignments and others) will be announced well in advance, both in class and in the classroom and on http://moodle.unizar.es/.

The dates of the exams and tests of official call will be fixed by the Direction of the Center.

 

5. Assessment system

 

The assessment is done on a continuous basis with the following assessment:

  • Examination of problems: 30%

  • Laboratory practices: 40%

  • Assignments and evaluable activities: 30%

 

Exceptionally, students may resort to the assessment by means of a global test that will integrate the previous sections above.




Curso Académico: 2023/24

439 - Graduado en Ingeniería Informática

30240 - Sistemas empotrados 2


Información del Plan Docente

Año académico:
2023/24
Asignatura:
30240 - Sistemas empotrados 2
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
Titulación:
439 - Graduado en Ingeniería Informática
Créditos:
6.0
Curso:
4
Periodo de impartición:
Primer semestre
Clase de asignatura:
---
Materia:
---

1. Información básica de la asignatura

El objetivo de la asignatura es formar al estudiante en el diseño y programación de sistemas empotrados que requieren un
sistema operativo debido a su complejidad, desarrollando capacidades de análisis y diseño. 
Para ello se introducen las técnicas de planificación tiempo real sobre monoprocesador más utilizadas cuando la planificación basada en ejecutivo cíclico estudiada en Sistemas Empotrados I resulta insuficiente. Se presenta un sistema operativo tiempo real muy representativo (SYS/BIOS), y la adaptación más difundida del núcleo Linux para tiempo real. Se estudian los parámetros más relevantes de estos sistemas para poder hacer cálculos de cumplimiento de plazos (latencias de interrupción y planificación y cómo medirlas en cada caso). En el caso de Linux se estudian en profundidad los principales interfaces de programación y recursos internos del núcleo , las configuraciones de expulsión del mismo, y sus ventajas y límites para sistemas tiempo real. Los conceptos y problemas estudiados y resueltos en teoría se respaldan con su implementación práctica en SYS/BIOS y/o Linux.
 
Estos planteamientos y objetivos están alineados con el Objetivo 9 meta 9.5 de los Objetivos de Desarrollo Sostenible (ODS) de la Agenda 2030 (https://www.un.org/sustainabledevelopment/es/), y en menor medida con los ODS 3, 4, 6, 7, 11, 12, 13, 14, y 15.

2. Resultados de aprendizaje

  • Tiene una visión amplia de los microprocesadores e interfaces más extendidos en sistemas empotrados y de tiempo real. 
  • Conoce y sabe utilizar de forma eficiente los lenguajes de programación habituales en estos entornos (C, Ada, Java, etc.).
  • Tiene una visión amplia de los sistemas operativos más utilizados en sistemas empotrados y tiempo real, y sabe portar a una plataforma y utilizar los servicios de al menos uno de ellos.
  • Conoce y sabe manejar entornos de desarrollo para sistemas empotrados y de tiempo real.
  • Sabe analizar y seleccionar plataformas hardware / software adecuadas para aplicaciones de sistemas empotrados y tiempo real.
  • Sabe diseñar y construir sistemas empotrados y de tiempo real basados en microprocesadores o en otras plataformas, de poca a media complejidad, atendiendo a criterios de seguridad, fiabilidad, tolerancia a fallos y consumo de energía.

3. Programa de la asignatura

  1. SOs Tiempo Real
    1. Introducción. Panorama actual.
    2. Revisión de métodos  de planificación expulsiva con prioridades en sistemas TR
    3. Sincronización, inversión / herencia de prioridad
    4. Casos: TI SYS/BIOS y POSIX (pthreads)
  2. Arquitectura de sistema
    1. Caso de estudio: ARM
    2. Gestión de interrupciones
    3. Factores que afectan a la latencia de interrupción
  3. Linux/ARM como solución en empotrados
    1. Estructura y dinámica de un kernel Linux
    2. Modelos de expulsión en el kernel y sus consecuencias en empotrados
    3. Sincronización en el kernel
    4. Excepciones. Latencia de interrupción.
    5. Callouts. Caso en Linux: tasklets, softirqs, workqueues
    6. Planificación / planificación tiempo real
    7. Gestión de memoria en el kernel
    8. Gestión de ficheros y E/S. Principales subsistemas
    9. Drivers (módulos) y acceso al hdw: Linux Device model
  4. Prácticas de Laboratorio
    1. Programación tiempo real sobre SYS/BIOS y POSIX
    2. Creación de una distribución Linux para un sistema empotrado
    3. Configuración y modificación del kernel
    4. Medición de la latencia de interrupción
  5. Proyectos de ampliación

4. Actividades académicas

Las clases magistrales y de problemas y las sesiones de prácticas en el laboratorio se imparten según horario establecido
por el centro (horarios disponibles en su página web).
Cada profesor informará de su horario de atención de tutoría.
El resto de actividades se planificará en función del número de alumnos y se dará a conocer con la suficiente antelación. 
Podrá consultarse en http://moodle.unizar.es
 
El calendario detallado de las diversas actividades a desarrollar se establecerá una vez que la Universidad y el Centro
hayan aprobado el calendario académico (consultar Web de la EINA).
La relación y fecha de las diversas actividades, junto con todo tipo de información y documentación sobre la asignatura, se
publicará en http://moodle.unizar.es/ (Nota. Para acceder a esta web el estudiante requiere estar matriculado). 
A título orientativo:
Cada semana hay programadas 3h de clases en aula.
Se realizarán seis  prácticas de laboratorio de 3h cada una.
Las actividades adicionales que se programen (trabajos y otros) se anunciarán con suficiente antelación, tanto en
Las fechas de los exámenes y pruebas de convocatoria oficial las fijará la Dirección del Centro.

5. Sistema de evaluación

La evaluación se realiza de forma continua con la siguiente valoración:

  • Examen de problemas: 30%
  • Prácticas de laboratorio: 40%
  • Trabajos y actividades evaluables: 30%

Excepcionalmente, los estudiantes pueden recurrir a la evaluación mediante una prueba global que integrará los apartados anteriores.